package com.geeguo.ebuilder.client.business.system.webmodule.service;

import com.geeguo.ebuilder.client.base.security.model.LoginUser;
import com.geeguo.ebuilder.client.base.tenant.model.DataContext;
import com.geeguo.ebuilder.client.business.system.webmodule.model.WebModuleBO;
import com.geeguo.ebuilder.client.business.system.webmodule.model.WebModuleVO;

import java.util.List;
import java.util.Set;

public interface WebModuleService {

    List<WebModuleBO> listAll(DataContext dataContext);

    List<WebModuleVO> listAllTree(DataContext dataContext);

    List<WebModuleBO> listByUser(LoginUser loginUser, DataContext dataContext);

    List<WebModuleBO> listMenuByUser(LoginUser loginUser, DataContext dataContext);

    Set<String> listPermissionCodeByUser(LoginUser loginUser, DataContext dataContext);

    void removeCachedUserWebModules(LoginUser loginUser, DataContext dataContext);
}
